This invention relates to a method for controlling data flow associated with a communications node; more specifically a communications node that services a wireless communications system.
A communications node is a computer or another network element that communicates with a communications network. A communications node may be configured to control store-and-forward operations between an input and an output of the communications node. In particular, the communications node may manage buffer memory to control store-and-forward operations. The management of the buffer memory may include an admission control approach for admitting data messages with time-out constraints. A time-out constraint provides an indication of the freshness or staleness of a data message stored in the communications node. A time-out constraint defines a maximum desired time difference between admittance of the data message to buffer memory and the transmittance of the data message from the buffer memory.
Some admission control approaches waste buffer memory resources. For example, if data messages are admitted whenever storage space is available in the buffer memory, the communications node will sometimes waste storage space by admitting a data message which cannot be forwarded within its time-out constraint. Further, the storage space occupied by the held data message blocks prevents other messages from entering the buffer memory for a duration exceeding the time-out constraint of the held data message, reducing space available for other data messages which could meet their time-out constraints.
Some communication nodes may be fortified with supplemental buffer memory in an attempt to compensate for the foregoing inefficiencies in the management of the buffer memory. However, the cost of a communications node generally increases with the complexity and quantity of buffer memory. The communications nodes may suffer reduced throughput because their memory capacity can not be expanded beyond a limit. Thus, a need exists for managing admission priority of data messages to reduce buffer memory requirements or to enhance throughput performance.
In accordance with the invention, a method for controlling data flow in a store-and-forward communication node includes deciding whether to grant or deny admission of data messages to the communications node. In the context of granting admission of data messages to the communications node, the communications node may use a zero loss approach or a variant of the zero-loss approach. In the zero-loss approach, an overload controller of the communications node predicts a transmission-departure time of a receive data message from an output upon reception of the receive data message at an input of the communications node. The overload controller determines if the receive data message would remain stored within the communications node for a latent duration longer than a waiting-time limit based on the predicted transmission-departure time. The receive data message is admitted if the receive data message would be transmitted prior to expiration of the waiting-time limit, or according to another suitable criterion. The overload controller cooperates with a processing system to admit the receive data message for storage in a buffer memory of the communications node for prospective transmission over the output. The foregoing zero-loss approach and variants thereof are well-suited for reducing handling time per data message and total memory capacity required to service an anticipated load of data messages at the communications node.